import type { MenuTreeItem, GetMenuTreeResult } from '@/apis/system/model/roleModel';

// 菜单item类型
export interface MenuListItem extends MenuTreeItem {
  checkStatus?: boolean;
  isIndeterminate?: boolean;
  checkedRoles: number[];
  allCheckRoles: number[];
  children: null | MenuListItem[];
}

// 左侧scope的类型
export interface ScopeItem extends GetMenuTreeResult {
  // 已选状态
  checkStatus: boolean;
  // 半选状态
  isIndeterminate: boolean;
  // 已选列表
  checkedRoles: number[];
  // 总列表
  allCheckRoles: number[];
  // 半选列表
  indeterminateRoles: number[];
  // 菜单列表
  children: MenuListItem[];
}
